package com.atguigu.gmall.cart.service;

import com.atguigu.gmall.cart.entity.CartInfo;
import com.atguigu.gmall.product.entity.SkuInfo;

import java.util.List;

public interface CartService {

    //选用哪个购物车
    String determinCartKey();

    //添加到购物车
    SkuInfo addToCart(Long skuId, Integer skuNum, String cartKey);

    //从购物车中 获取商品信息
    public CartInfo getItem (Long skuId, String cartKey);
    //保存商品信息到 购物车
    public void saveItem(String cartKey, CartInfo cartInfo);

    //获取购物车列表，合并购物车
    List<CartInfo> displayItems();

    //获取购物车列表
    List<CartInfo> getCartItems(String cartKey);

    //修改购物车数量
    void updateItemNum(Long skuId, Integer skuNum, String cartKey);

    //选中商品
    void checkItem(Long skuId, Integer checked, String cartKey);

    //删除商品
    void deleteCart(String cartKey, Long skuId);

    //删除选中的商品
    void deleteChecked(String cartKey);

    //获取所有选中的商品
    List<CartInfo> getCheckeds(String cartKey);
}
